package com.nf.sms.dao;

import com.nf.sms.entity.User;

/**
 * DAO：数据访问对象 - 接口 - 结合业务，定义相关操作的接口
 * <p>
 * 也就是说，针对某张数据表，定义相关的数据库操作的方法
 *
 * 提高代码的维护性以及扩展性
 *
 * @author ZQX
 * @date 2024-10-10
 */
public interface UserDao {
    /**
     * 添加用户 - 结合业务，针对用户信息表，定义添加数据的方法 - 服务于注册业务
     *
     * @param user 用户对象
     * @return 受影响的行数
     */
    int insert(User user);


    /**
     * 根据帐号查询用户信息 - 服务用户登录业务
     *
     * @param username 帐号
     * @return 所有用户信息
     */
    User selectByName(String username);


    /**
     * 修改用户密码 - 服务于修改密码业务
     *
     * @param username 帐号
     * @param newPass 新密码
     * @return 受影响的行数
     */
    int updatePassword(String username, String newPass);
}
